package com.cskaoyan.javase.oop3._2inner._1member._2extend;

/**
 * 如何让一个外部类继承成员内部类?
 *
 * @since 09:29
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
}

class EnclosedClazz {
    class InnerClazz {
    }
}

// No enclosing instance of type 'com.cskaoyan.javase.oop3._2inner._1member._2extend.EnclosedClazz' is in scope
// 没有外围类对象来支撑成员内部类对象
// 成员内部类对象,需要外围类对象的支持才能够创建,现在成员内部类是一个父类
class Son extends EnclosedClazz.InnerClazz {
    public Son(EnclosedClazz ec) {
        // 现在InnerClazz是一个父类,调用它的构造器,用super
        // 在外围类对象的基础上,调用成员内部类的无参构造器,表示创建它的对象
        ec.super();
    }
}